package com.huluobo.day_1_lifecycledemo;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.EditText;

import com.huluobo.day_1_lifecycledemo.databinding.ActivityMainBinding;
import com.huluobo.day_1_lifecycledemo.lifecycle.ADActivity;
import com.huluobo.day_1_lifecycledemo.lifecycle.TipDialog;

/**
 * 传统方式使用视图绑定 使用findViewById或者黄油刀
 * ViewBinding同样是进行视图绑定的,方式与其他不太相同
 * <p>
 * ViewBinding总结:
 * 1.首先使用时需要在app的build.gradle中开启enable=ture;
 * 2.开启之后所有的xml文件都会对应的生成一个类,也就是由xml文件名生成的驼峰命名法的实现类
 * 3.(重点) setContentView(activityMainBinding.getRoot()),这个方法中不能直接用layout的ID,需要使用binding的root才能绑定布局
 * 4.viewBinding的特点,具有空安全,视图绑定会对视图直接引用
 * 5.具有类型安全的属性,不需要进行强制转换,可以自动匹配xml文件中控件的类型
 */
public class MainActivity extends AppCompatActivity {

    private ActivityMainBinding activityMainBinding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        EditText editText = findViewById(R.id.ed_content);
//
//        @BindView(R.id.ed_content)
//        EditText editText1;

        activityMainBinding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(activityMainBinding.getRoot());//把xml页面的根节点赋值给activity

        activityMainBinding.edContent.setHint("请输入文字");
        activityMainBinding.tvContent.setText("123");
        activityMainBinding.btnContent.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, MainActivity.class);
                startActivity(intent);
            }
        });

    }
}